package sun.superstring.enumdemo;

public class Test2 {
    public static void main(String[] args) {
        // 目标：掌握枚举类的应用场景：做信息的分类和标志
        // 需求：模拟上下左右移动图片
        // 第一种是常量做信息标志和分类：但参数值不受约束
        move(Constant.UP);

        // 第二种是枚举做信息标志和分类：参数值受约束
        move(Direction.DOWN);

    }

    // 第二种匹配
    public static void move(Direction direction){
        System.out.println("枚举型匹配：direction = " + direction);
        // 根据这个方向做移动：上下左右
        switch (direction){  // switch支持省略枚举对象的前缀：Direction，可以自动去找对应的枚举对象
            case UP:
                System.out.println("向上移动");
                break;
            case DOWN:
                System.out.println("向下移动");
                break;
            case Direction.LEFT:
                System.out.println("向左移动");
                break;
            case Direction.RIGHT:
                System.out.println("向右移动");
        }
    }

    // 第一种匹配
    public static void move(int direction){
        System.out.println("int匹配：direction = " + direction);
        // 根据这个方向做移动：上下左右
        switch (direction){
            case 0:
                System.out.println("向上移动");
                break;
            case 1:
                System.out.println("向下移动");
                break;
            case 2:
                System.out.println("向左移动");
                break;
            case 3:
                System.out.println("向右移动");
                break;
            default:
                System.out.println("输入有误：");
        }
    }

}
